[レポート] 極める – Tableau エンベデッド・アナリティクス & API – Tableau Data Day Out 2019 #tableau
2019年05月14日、ザ・プリンス パークタワー東京にてTableauの国内カンファレンスイベント『Tableau Data Day Out』が開催されました。
当エントリでは、イベントで催されたテクニカルセッションの『極める – Tableau エンベデッド・アナリティクス & API』についてレポートしたいと思います。
目次
セッション概要
当セッションの概要及び登壇者に関する情報は以下の通り。
技術的なコンテンツがお好きなユーザの皆さまにTableau エンジニアがディープなテクニカルセッションをご提供。 貴社の業務プロセスの中でまたは自社のサービスからシームレスに強力な分析プラットフォームを活用できるとしたらこんなに素晴らしいとこはありません。 Tableau には必要な埋め込み機能がすべて揃っています。具体的な活用事例を中心に埋め込みを可能にするその技術のすべてを40分に凝縮してご紹介します。
登壇者:
・三田 泰正氏(Tableau Japan株式会社 セールスコンサルタント)
セッションレポート
「エンベデットアナリティクス(Embedded Analytics)」とは
- ガートナー社がこの言葉の定義をしている
- 分析システムで実行した分析やレポートを、業務アプリケーション内で利用する仕組み
- 業務アプリケーションからシームレスでアナリティクス関連の情報にアクセスできる
- ただし、実際にシステムとして組み込むわけではない
- 業務アプリケーションと分析システムは別途構築した上で、分析システム側の機能を業務アプリケーションに埋め込む
- ユーザーの観点からすると、システムとしては別でも、同じシステムのように使えることが望ましい
Tableauによるエンベデットアナリティクス
- Tableau ServerやTableau Onlineで管理しているVizをWebサイトに埋め込むことが可能
- 例:業務ポータルサイトに埋め込む
- 例:セールスフォースのページ上に埋め込む(Tableau社自身も実施している)
- また、JavascriptAPIを使うと、そのVizに対する操作をコントロールすることができる
デモ
- (JavascriptAPIを使って)Vizの元となっているデータを取得し、同ページの別の部分に表示することも可能
- Tableauのエンベデットアナリティクスは、国外の事例が多く存在
- Tableauのエンベデットアナリティクスは、2つの技術がキーとなる
JavaScriptAPI
- 埋め込んだVizのコントロールが可能となるAPI
- 機能として大きく3種類に分けることが出来る
- Vizの埋め込み
- Vizに対する操作の埋め込み
- Vizに使われている元データの取得と3rdパーティアプリとの連携
- サンプルコードの紹介
- 最初にVizの場所を記述する(Tableau PublicのURLなど)
- フィルタのデフォルト値とかをオプションをつけれる
- JSなので、色々と応用が効く(Tableauだけでは実現できない表現も可能)
- デモ
- PDFや画像のエクスポートも可能
- サマリーデータまたはフルデータの取得もできる
- Tableau Desktopで実行できるデータダウンロードの機能と同じもの
- 取得したデータをD3.jsに渡して描画することも可能
シングルサインオン
そもそもTableau ServerやTableau OnlineのVizを閲覧するためには、認証が必要 * 埋め込んだVizを表示させる度に、毎回認証を行うのは、非常に面倒 * シングルサインオンを導入することで、上記のような煩雑な認証作業を無くすことができる
- Tableauには使用できるSSOはいくつかあるが、よく使われるのは下記の2つ
- 信頼できる認証
- SAML
- 信頼できる認証とは
- 信頼できる認証 - Tableau
- 任意のWebサーバーをTableau Serverが信頼する対象として設定する
- そのWebサーバーにログインしたユーザーは、自動的にTableau Serverの認証も行う
- つまり、Webサーバーにさえログインすれば、後は認証無しで、埋め込まれたVizを閲覧することができる
- SAML
- SAML - Tableau
- OneLoginなどのIdPと連携することができる
- IdPにログインしておけば、埋め込まれたVizを閲覧する際に改めて認証作業を行う必要はない
- 事前にログインしていない場合の例として、IdPのログイン画面に飛ばすボタンを最初に表示させるといったことも可能
その他のAPI
- その他にも、Tableauには色々なAPIが備わっている
まとめ
シングルサインオンの方は、エンベデットアナリティクスではなくとも、Tableau Serverの要件などで触れたことがありますが、JavascriptAPIの方は、全く触ったことがないため、どのようなことが出来るのか、このセッションのおかげで理解することができました。最初はGUIで操作できることをJS側に任せることができる程度かと思っていましたが、Tableau標準の機能以上のことが再現できるのは、非常に面白そうです。